package com.link.base.core.basic.util;

import com.link.core.util.StringUtils;

import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
 * Api调用工具方法
 *
 * @author: liuqixin
 * @date: 2020/08/19 16:20
 */
public class ApiUtil {

    /**
     * 详细时间字符串格式
     */
    public static final String DTL_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
    /**
     * 带时间的日期格式
     */
    public static final String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
    /**
     * 不带时间的日期格式
     */
    public static final String DATE_FORMAT = "yyyy-MM-dd";


    /**
     * 获取当前时间的详细时间
     * 一般是在相应时间处使用
     *
     * @author 刘启鑫
     * @date 2020/8/19 16:21
     */
    public static String getCurrentDetailTime() {
        return new SimpleDateFormat(DTL_TIME_FORMAT).format(Calendar.getInstance().getTime());
    }


    /**
     * 判断字符串是否符合特定的日期格式
     *
     * @param dateFormat 时间格式
     * @param dateString 字符串
     * @return
     */
    public static boolean isValidDate(String dateFormat, String dateString) {
        SimpleDateFormat format = new SimpleDateFormat(dateFormat);
        try {
            format.parse(dateString);
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 分割字符串后，去除首尾字母
     *
     * @param splitString 待分割的字符串
     * @param reg         分割字符串
     * @return
     */
    public static String[] splitThenWipeOffFirstAndEnd(String splitString, String reg) {
        // 非空直接返回空
        if (StringUtils.isBlank(splitString)) {
            return null;
        }

        String[] strs = splitString.split(reg);
        if (strs.length == 0) {
            return null;
        }

        for (int i = 0; i < strs.length; i++) {
            strs[i] = strs[i].substring(1, strs[i].length() - 1);
        }
        return strs;
    }


    public static String[] wipeOfFirstItemOfArray(String[] strs) {
        if (null == strs || strs.length == 0) {
            return null;
        }
        String[] returnStrs = new String[strs.length - 1];
        for (int i = 0; i < strs.length - 1; i++) {
            returnStrs[i] = strs[i + 1];
        }
        return returnStrs;
    }

    /*public static void main(String[] args) {
        String[] strs = splitThenWipeOffFirstAndEnd("[NY.04-013],[NY.01-001]",",");
        String[] newStrs = wipeOfFirstItemOfArray(strs);
        for (String str: newStrs) {
            System.out.println(str);
        }


    }*/


}
